home *** CD-ROM | disk | FTP | other *** search
- #ifndef dir_SOSI
- #define dir_SOSI 1
-
- #include "dir_use.h"
- #include "knl_sos.h"
- #include "agg_sos.h"
- class _sos_Object_Directory;
- class _sos_Object_Directory:virtual public _sos_Object_sos_Object_Mapping,virtual public _sos_Named
- { friend class sos_Object_Directory;
- virtual sos_Offset _offset_sos_Object () { return 0; }
- virtual sos_Offset _offset_sos_Aggregate () { return 8; }
- virtual sos_Offset _offset_sos_Object_sos_Object_Association () { return 8; }
- virtual sos_Offset _offset_sos_Object_sos_Object_Mapping () { return 10; }
- virtual sos_Offset _offset_sos_Named () { return 71; }
- virtual sos_Offset _offset_sos_Object_Directory () { return 71; }
- public:
- static _sos_Object_Directory* _make(sos_Typed_id&);
- virtual sos_Offset _size();
- void _create(sos_Typed_id&,sos_String name);
- protected:
- static void _create_comps(sos_Object_Directory,sos_String name);
- public:
- void _copy(sos_Typed_id&,sos_Object_Directory);
- protected:
- static void _copy_comps(sos_Object_Directory,sos_Object_Directory);
- public:
- virtual sos_Object _clone(sos_Typed_id&,sos_Container);
- virtual void destroy(sos_Typed_id&);
- virtual void assign(sos_Typed_id&,sos_Object);
- static void local_assign(sos_Object_Directory,sos_Object);
- virtual sos_Bool equal(sos_Typed_id&,sos_Object,sos_Eq_kind=EQ_STRONG);
- static sos_Bool local_equal(sos_Object_Directory,sos_Object,sos_Eq_kind);
- virtual sos_Int hash_value(sos_Typed_id&);
- static sos_Int local_hash_value(sos_Object_Directory);
- virtual void insert(sos_Typed_id&,sos_Object _p1,sos_Object _p2);
- virtual void remove(sos_Typed_id&,sos_Object _p1);
- virtual sos_String get_name(sos_Typed_id&);
- virtual void set_name(sos_Typed_id&,sos_String);
- static sos_Object_Directory root();
- static sos_Object lookup(sos_String _p1);
- static void set_wd_from_env();
- static void set_wd(sos_String _p1);
- static sos_Object_Directory get_wd();
- protected:
- static void local_initialize(sos_Object_Directory _p1);
- static void local_finalize(sos_Object_Directory _p1);
- };
- extern _sos_Object_Directory *__sos_Object_Directory_obj;
- extern void _dir_init_sos();
- #endif
-